﻿<!--
    
    function IdPrefixClientValidate(source, arguments)
   {
        if (arguments.Value == -1 ){
            arguments.IsValid = false;
        } else {
            arguments.IsValid = true;
        }
   }
   
   function IdPostfixClientValidate(source, arguments)
   {
        if (arguments.Value == -1 ){
            arguments.IsValid = false;
        } else {
            arguments.IsValid = true;
        }
   }
   
//   function IdNumberLengthClientValidate(source, arguments)
//   {
//        if (arguments.Value.length < 7 ){
//            arguments.IsValid = false;
//        } else {
//            arguments.IsValid = true;
//        }
//   }
   
   function CheckIdNumberClientValidate(source, arguments)
   {
        var orglen = arguments.Value.length;
        //alert(arguments.Value);
        //alert(orglen);
        var cval = arguments.Value;
        
        var prefix = source.id.toString();
        //alert(prefix);
        var arrprefix = prefix.split("_");
        var strprefix="";
        var strsourceid="";
        
        
        var arrlen = arrprefix.length - 1;
        for(i=0;i<arrlen;i++)
        {
            strprefix = strprefix + arrprefix[i].toString() + "_";   
        }
        
        strsourceid = arrprefix[arrlen]; 
        //alert(strprefix); 
        //Run Time strprefix= ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder2_txtIdNumber_
        var ddlIdPrefix = document.getElementById(strprefix + "ddlIdPrefix");
        var ddlIdPostfix = document.getElementById(strprefix + "ddlIdPostfix");
        
        if (isNaN(cval)){
            arguments.IsValid = false;
        } else {
            //alert(cval);
            var cstrVal = "" + cval + "";
            //alert(cstrVal);
            if(cstrVal.length < 7 || cstrVal.length < orglen)
            {
                arguments.IsValid = false;
            }
            else
            {
                //alert(cstrVal);
                var strTempIDNumber = cstrVal;
                var D1 = parseInt(strTempIDNumber.substring(0, 1));
                var D2 = parseInt(strTempIDNumber.substring(1, 2));
                var D3 = parseInt(strTempIDNumber.substring(2, 3));
                var D4 = parseInt(strTempIDNumber.substring(3, 4));
                var D5 = parseInt(strTempIDNumber.substring(4, 5));
                var D6 = parseInt(strTempIDNumber.substring(5, 6));
                var D7 = parseInt(strTempIDNumber.substring(6, 7));
                //alert(D7);
                
                //alert(ddlIdPrefix);
                //alert(ddlIdPostfix);
                
                var SunDigit = 0;
                var ModDigit = 0;
                var ResultDigit = 0;
                // Zero = 0 positon dummy 
                //char[] resultArrChar = { '0', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'Z', 'J' };

                var STArrChar = new Array();
                STArrChar =  [ 'J', 'Z', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A' ];
                
                var FGArrChar = new Array();
                FGArrChar = [ 'X', 'W', 'U', 'T', 'R', 'Q', 'P', 'N', 'M', 'L', 'K' ];
            
                SunDigit = (2 * D1) + (7 * D2) + (6 * D3) + (5 * D4) + (4 * D5) + (3 * D6) + (2 * D7);
                ModDigit = SunDigit % 11;
                //alert("Sun Digit " + SunDigit);
                //alert("Mod Digit " + ModDigit);
                
                if (ddlIdPrefix.value == 'T' || ddlIdPrefix.value== 'G')
                {
                    ResultDigit = ModDigit + 4;
                }
                else
                {
                    ResultDigit = ModDigit;
                }
                
                if(ResultDigit > 10)
                {
                    //alert('greater than 10');
                    ResultDigit = ResultDigit % 11;
                    //alert(ResultDigit);
                }
                //alert("Result Digit " + ResultDigit);
                var resultChar = '';

                if (ddlIdPrefix.value == 'S' || ddlIdPrefix.value == 'T')
                {
                    resultChar = STArrChar[ResultDigit];
                }
                else if (ddlIdPrefix.value == 'F' || ddlIdPrefix.value == 'G')
                {
                    resultChar = FGArrChar[ResultDigit];
                }
                //alert(resultChar);
                if (ddlIdPostfix.value == resultChar)
                {
                    arguments.IsValid = true;
                }
                else
                {
                    arguments.IsValid = false;
                    //csvIdNumber.ErrorMessage = "";
                    //csvIdNumber.ErrorMessage += "Sun Digit " + SunDigit.ToString() + "<br />";
                    //csvIdNumber.ErrorMessage += "Mod Digit " + ModDigit.ToString() + "<br />";
                    //csvIdNumber.ErrorMessage += "Result Char" + resultChar.ToString() + "<br />";

                }
            }
        }
   }
    //-->
